package com.ibeeking.found.common.config.feign;

import com.ibeeking.found.common.config.feign.fallback.MarketingJobFeignClientFallbackFactory;
import com.ibeeking.found.common.entity.TimeTaskJobParam;
import com.ibeeking.nematos.utils.result.ResponseResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @Author ibeeking
 */
@FeignClient(name = "mall-marketing-b-server", contextId = "commonMarketingJobFeignClient", path = "/b", fallbackFactory = MarketingJobFeignClientFallbackFactory.class, decode404 = true)
public interface MarketingJobFeignClient {
    /*
    * 券包状态更新任务创建
    */
    @PostMapping(value = "/job/feign/v1/createJobInfoForUpdateGroupCouponStatus")
    ResponseResult<Boolean>  createJobInfoForUpdateGroupCouponStatus(@RequestBody TimeTaskJobParam param);
    /*
     * 券包状态更新任务删除
     */
    @PostMapping(value = "/job/feign/v1/delJobInfoForUpdateGroupCouponStatus")
    ResponseResult<Boolean>  delJobInfoForUpdateGroupCouponStatus(@RequestBody TimeTaskJobParam param);
    /*
     * 每日清理过期会员优惠券任务创建
     */
    @PostMapping(value = "/job/feign/v1/createJobInfoForClearExpiredCoupon")
    ResponseResult<Boolean>  createJobInfoForClearExpiredCoupon(@RequestBody TimeTaskJobParam param);
    /*
     * 每日清理过期会员优惠券任务删除
     */
    @PostMapping(value = "/job/feign/v1/delJobInfoForClearExpiredCoupon")
    ResponseResult<Boolean>  delJobInfoForClearExpiredCoupon(@RequestBody TimeTaskJobParam param);
    /*
     * 每日清理过期活动任务创建
     */
    @PostMapping(value = "/job/feign/v1/createJobInfoForClearExpiredCampaign")
    ResponseResult<Boolean>  createJobInfoForClearExpiredCampaign(@RequestBody TimeTaskJobParam param);
    /*
     * 每日清理过期活动任务删除
     */
    @PostMapping(value = "/job/feign/v1/delJobInfoForClearExpiredCampaign")
    ResponseResult<Boolean>  delJobInfoForClearExpiredCampaign(@RequestBody TimeTaskJobParam param);
    /*
     * 人群运营任务任务创建
     */
    @PostMapping(value = "/job/feign/v1/createJobInfoForCrowdOperatePlan")
    ResponseResult<Boolean>  createJobInfoForCrowdOperatePlan(@RequestBody TimeTaskJobParam param);
    /*
     * 人群运营任务任务删除
     */
    @PostMapping(value = "/job/feign/v1/delJobInfoForCrowdOperatePlan")
    ResponseResult<Boolean>  delJobInfoForCrowdOperatePlan(@RequestBody TimeTaskJobParam param);
    /*
     * 场景营销任务创建
     */
    @PostMapping(value = "/job/feign/v1/createJobInfoForSceneMarketingPlan")
    ResponseResult<Boolean>  createJobInfoForSceneMarketingPlan(@RequestBody TimeTaskJobParam param);
    /*
     * 场景营销任务删除
     */
    @PostMapping(value = "/job/feign/v1/delJobInfoForSceneMarketingPlan")
    ResponseResult<Boolean>  delJobInfoForSceneMarketingPlan(@RequestBody TimeTaskJobParam param);

}
